package com.atguigu.test;

import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.expression.Expression;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

import java.math.BigDecimal;

@Slf4j
@SpringBootTest
public class A {

    @Test
    public void test1(){
        //log日志占位符替换
        log.info("log:{}","a");
        System.out.println();
        //string.format占位符替换
        String format = String.format("%s,java", "你好");
        System.out.println(format);
        //SpringELExpress表达式,#号后面的内容可以被具体值替换
        String var ="#id";
        SpelExpressionParser parser = new SpelExpressionParser();
        Expression expression = parser.parseExpression(var);
        StandardEvaluationContext context = new StandardEvaluationContext();
        context.setVariable("id","3");

        String s = expression.getValue(context).toString();
        System.out.println(s);
    }
    @Test
    public void test2(){
        //错误案例
        /*BigDecimal bigDecimal4 = new BigDecimal(0.01);
        BigDecimal bigDecimal5 = new BigDecimal(0.01);
        System.out.println(bigDecimal4.subtract(bigDecimal5));
        //正确案例
        BigDecimal bigDecimal = new BigDecimal("0.03");
        BigDecimal bigDecimal1 = new BigDecimal("0.01");
        System.out.println(bigDecimal.subtract(bigDecimal1));
        BigDecimal bigDecimal2 = BigDecimal.valueOf(0.03);
        BigDecimal bigDecimal3 = BigDecimal.valueOf(0.01);
        System.out.println(bigDecimal2.subtract(bigDecimal3));*/

        BigDecimal bigDecimal2 = new BigDecimal("0.3");
        BigDecimal bigDecimal3 = new BigDecimal("0.30");
        System.out.println(bigDecimal2.equals(bigDecimal3));
        System.out.println(bigDecimal2==bigDecimal3);
        System.out.println(bigDecimal2.compareTo(bigDecimal3) == 0);




    }
}
